package com.cloud.pole.shop.service.goods;

import java.util.List;
import java.util.Map;

import com.cloud.pole.shop.model.entity.goods.ShopGoods;
import com.cloud.pole.shop.model.entity.goods.ShopGoodsAdmin;
import com.cloud.pole.shop.model.entity.goods.ShopGoodsSpec;
import com.cloud.pole.shop.model.vo.goods.GoodsDetailVo;
import com.github.pagehelper.PageInfo;

/*
*2019年2月21日
*cloud-shop
*author:frank-chen
*/
public interface GoodsService {
	
	public GoodsDetailVo getGoodsDetail(String token, String goodsId, String specId, String recommandMarketCode) throws Exception;
	
	public boolean addCollection(String token, String goodsId) throws Exception;
	
	public boolean cancelCollection(String token, String goodsId) throws Exception;
		
	public boolean checkShoppingGoods(ShopGoods shopGoods) throws Exception;
	
	public boolean checkGoodsSpec(ShopGoodsSpec shopGoodsSpec) throws Exception;

	public PageInfo<ShopGoodsAdmin> selectPageShopGoodsAdminList(Map<String, Object> map, Integer pageNo,
			Integer pageSize) throws Exception;
	
	public PageInfo<ShopGoodsAdmin> selectPageMerchantShopGoodsAdminList(String token, Map<String, Object> map, Integer pageNo,
			Integer pageSize) throws Exception;

	public void saveGoods(String token, Map map)  throws Exception ;

	public void updateGoods(String token, Map map) throws Exception;
	
	public void deleteGoods(String token, Integer goodsId) throws Exception;
	
	public PageInfo<ShopGoods> selectPageShopGoodsList(Map<String, Object> map, Integer pageSize, Integer pageNum) throws Exception;

	public GoodsDetailVo selectShopGoodsAdminById(String goodsId) throws Exception;
	
	public List<ShopGoods> selectShopGoodsByShopId(Integer shopId)throws Exception;

	public GoodsDetailVo getRechargeGoods(String shopId) throws Exception;
}
